﻿using System;
using System.Runtime.Serialization;

namespace JTLeigh.Commerce.Spencer.Core.Service.Contracts
{

    /// <summary>
    /// Data contract representing the resulting pagination detail.
    /// </summary>
    [DataContract(Name = "PaginationDetail", Namespace = "http://schemas.jtleigh.com/Commerce/Spencer/Core/1.0/")]
    public class PaginationDetail
    {

        /// <summary>
        /// Gets or sets the current page number.
        /// </summary>
        /// <remarks>
        /// <para>
        /// The current page number returned in <see cref="PaginationDetail"/> might be different 
        /// than the current page number provided in <see cref="PaginationBehavior"/>.
        /// </para>
        /// </remarks>
        [DataMember(Name = "CurrentPage", IsRequired = true)]
        public int CurrentPage { get; set; }

        /// <summary>
        /// Gets or sets the total number of pages.
        /// </summary>
        [DataMember(Name = "TotalPages", IsRequired = true)]
        public int TotalPages { get; set; }

    }

}
